package py.progweb.sgc.model;


import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name="Facturas")
public class Factura extends EntidadBase implements Serializable{
	private static final long serialVersionUID = 1L;
	
	/* ATRIBUTOS DE LA CLASE */
	@Id
	@SequenceGenerator(name="CODFACTURAPK_GENERATOR", sequenceName="FACTURA_COD_FACTURA_PK_SEQ",allocationSize=1)
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="CODFACTURAPK_GENERATOR")
	@Column(name="cod_factura_pk")
	private Integer codFacturaPk;
	@Column(name="saldo")
	private Integer saldo;
	@Column(name="estado")
	private String estado;
	
	/* ATRIBUTOS DE RELACION */
	@OneToOne
	@JoinColumn(name="venta", referencedColumnName="cod_venta_pk")
	private Venta venta;
	
	public Factura(){
		super();
	}
	
	public Venta getVenta() {
		return venta;
	}

	public void setVenta(Venta venta) {
		this.venta = venta;
	}

	public Integer getCodFacturaPk() {
		return codFacturaPk;
	}

	public void setCodFacturaPk(Integer codFacturaPk) {
		this.codFacturaPk = codFacturaPk;
	}

	public Integer getSaldo() {
		return saldo;
	}

	public void setSaldo(Integer saldo) {
		this.saldo = saldo;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}	
	
	@Override
    public Object getPK(){
            return getCodFacturaPk();
    }

    @Override
    public String toString(){
            return "Factura: cod:"+this.getPK();
    }

}
